package database

import (
	_ "github.com/go-sql-driver/mysql"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
	"gorm.io/gorm/logger"
	"gorm.io/gorm/schema"
)

func NewMysqlDB(dataSource string) *gorm.DB {
	db, err := gorm.Open(mysql.Open(dataSource), &gorm.Config{
		Logger:                                   logger.Default.LogMode(logger.Info),
		DisableForeignKeyConstraintWhenMigrating: true, // 自动创建表的时候不创建外键
		SkipDefaultTransaction:                   false,
		NamingStrategy: schema.NamingStrategy{ // 自动创建表时候表名的配置
			SingularTable: true,
			// 全部的表名前面加前缀
			//TablePrefix: "mall_",
		},
	})
	if err != nil {
		panic("连接数据库失败")
	}

	return db
}

// TODO 文档地址: https://gorm.io/zh_CN/docs/
